<template>
  <div class="grid-container">
    <div v-for="(user, index) in tableData" :key="user.id" class="grid-item">
      <div class="user-info">
        <span class="user-id">{{ user.id }}</span>
        <img :src="getImagePath(user.videoThumbnail)" alt="Video Thumbnail" class="video-thumbnail">
      </div>
    </div>
  </div>
</template>

<script>
export default {
  name: "JiankManager",
  data() {
    return {
      tableData: [],
    };
  },
  methods: {
    getImagePath(thumbnailName) {
      // 注意：这里需要您根据项目配置来返回正确的路径
      // 例如，如果 @ 已经在 webpack 中配置为 src/assets，并且图片在 src/assets/images 下
      // return require('@/assets/images/' + thumbnailName).default; // 但这通常不会工作，因为 require 不能在模板表达式中使用
      // 更好的做法是在构建时处理这些路径，或在 public 文件夹中放置图像
      // 这里我们暂时返回一个模拟的 URL
      return `https://example.com/assets/${thumbnailName}`;
    },
    fetchData() {
      // 模拟数据，注意videoThumbnail现在是一个文件名（不带路径）
    }
  },
  beforeCreate() {
    //异步请求后台用户数据
    this.$http.get(this.$apiBaseUrl + '/sc/api/monitor/findall', {}, {
      emulateJSON: true
    }).then(function (res) {
      //成功查询到用户信息
      if (res.data.code === "1") {
        this.$message({
          message: "查询成功！",
          type: 'success'
        });
        //后台异步返回的数据赋值给VUE变量
        this.tableData = res.data.data;
      } else {
        this.$message({
          message: "未查询到数据，请重新查询",
          type: 'error'
        })
      }
    }, function (res) {
      this.$message({
        message: "网络异常，请稍后再试！",
        type: 'error'
      })
    });
  }
}
</script>
<style scoped>
.video-thumbnail {
  /* 视频缩略图的样式 */
  width: 90%; /* 确保缩略图填满网格项 */
  height: 100px; /* 保持图像的宽高比 */
  display: block; /* 使其作为一个块级元素，如果需要的话 */
}

.grid-container {
  display: grid;
  /* 使用 repeat 函数结合 minmax 来设置列 */
  grid-template-columns: repeat(3, minmax(400px, 1fr));
  gap: 10px;
}

.grid-item {
  /* 为每个网格项添加边框 */
  border: 1px solid #ccc; /* 使用灰色边框，你可以根据需要更改颜色 */
  padding: 10px; /* 添加一些内边距，以便内容不会紧贴边框 */
  box-shadow: 0 2px 4px rgba(0,0,0,0.1); /* 可选：添加一些阴影以增强视觉效果 */
}

div {
  width: auto; /* 这里的div选择器可能过于宽泛，建议更具体地指定 */
}
</style>
